/**
 * @see https://leetcode-cn.com/problems/unique-paths/
 * 一个机器人位于一个 m x n 网格的左上角 （起始点在下图中标记为 “Start” ）。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角（在下图中标记为 “Finish” ）。
问总共有多少条不同的路径？
 * @param {number} m
 * @param {number} n
 * @return {number}
 */
var uniquePaths = function(m, n) {
  let dp = [];
  if(m === 1 || n === 1) {
    return 1;
  }
  for (let i = 0; i <= m; i++) {
    dp[i] = new Array(n+1).fill(1);
  }
  for (let i = 2; i <= m; i++) {
    for (let j = 2; j <= n; j++) {
      dp[i][j] = dp[i-1][j] + dp[i][j-1];
    }
  }
  console.log(dp[m][n])
  return dp[m][n]
};

uniquePaths(4, 3);